﻿@* 表示一个轴 *@
@inherits CfgBase<ExAxis>
<div class="cfg axis">
    <div class="over-input">
        <Switch @bind-Value="IsShow" DisplayText="@(Value?.name?.RAW)" ShowInnerText="true" OffInnerText="详情" OnInnerText="详情"></Switch>
        <Button OnClick="DeletexAxis" Size="Size.ExtraSmall">删除此轴</Button>
    </div>
    @if (IsShow && Value != null)
    {
        @*     <div class="over-input"> *@
        <JsValueCfg T="Eposition" @bind-Value="@Value.name" JsTypes="new List<JsType>(){ JsType.String}" DisplayText="轴名称" HelpInfo="坐标轴的名称"></JsValueCfg>
        <JsValueCfg T="Eposition" @bind-Value="@Value.position" JsTypes="new List<JsType>(){ JsType.Enum}" DisplayText="位置"></JsValueCfg>
        <JsValueCfg T="EType" @bind-Value="@Value.type" JsTypes="new List<JsType>(){ JsType.Enum}" DisplayText="轴类型"></JsValueCfg>
        <JsValCfg JsTypes="new List<JsType>(){ JsType.Num}" @bind-Value="Value.gridIndex" DisplayText="所属Grid" HelpInfo="x轴所在的grid的索引默认位于第一个grid"></JsValCfg>
        <JsValCfg JsTypes="new List<JsType>(){ JsType.Num}" @bind-Value="Value.alignTicks" DisplayText="所属Grid" HelpInfo="x轴所在的grid的索引默认位于第一个grid"></JsValCfg>

        <JsValCfg JsTypes="new List<JsType>(){ JsType.Array,JsType.Bool}" @bind-Value="@Value.alignTicks" DisplayText="自动对齐" HelpInfo="@Value.GetPropertyDescription("boundaryGap")"></JsValCfg>

        <AxisLineCfg @bind-Value="Value.axisLine" DisplayText="轴线配置"></AxisLineCfg>
        <JsValCfg JsTypes="new List<JsType>(){ JsType.Array,JsType.Bool}" @bind-Value="Value.boundaryGap" DisplayText="@Value.GetPropertyDisplayName("boundaryGap")" HelpInfo="@Value.GetPropertyDescription("boundaryGap")"></JsValCfg>
        <JsValCfg JsTypes="new List<JsType>(){ JsType.Num,JsType.String,JsType.Function}" @bind-Value="Value.min" DisplayText="@Value.GetPropertyDisplayName("min")" HelpInfo="@Value.GetPropertyDescription("min")"></JsValCfg>
        <JsValCfg JsTypes="new List<JsType>(){ JsType.Num,JsType.String,JsType.Function,JsType.Object,JsType.Array}" @bind-Value="Value.max" DisplayText="@Value.GetPropertyDisplayName("max")" HelpInfo="@Value.GetPropertyDescription("max")"></JsValCfg>


    }
</div>
@code {
    public CheckboxState MyProperty { get; set; }
    [Parameter]
    public List<ExAxis>? xAxes { get; set; }

    async Task DeletexAxis()
    {
        bool res = false;
        if (xAxes != null && Value != null)
        {
            res = xAxes.Remove(Value);
        }
        BigScreen?.RefreshHandel?.Invoke(true);
        await Task.CompletedTask;
    }
}
